package com.mediaFeed.service;

import com.mediaFeed.dao.VideoDao;
import com.mediaFeed.model.Video;

import java.util.List;

/**
 * Author:Louis Majanja <louis@media.berkeley.edu>
 * Date: Nov 13, 2006
 * Time: 4:26:37 PM
 */
public interface VideoManager {

    public void setVideoDao(VideoDao videoDao);

    /**
     * Retrieves a video by videoId.  An exception is thrown if video not found
     *
     * @param videoId
     * @return Video
     */
    public Video getVideo(String videoId);
    /**
     * Retrieves a list of videos, filtering with parameters on a video object
     * @param video parameters to filter on
     * @return List
     */
    public List getVideos(Video video);

    /**
     * Saves a video's information
     *
     * @param video the video's information
     */
    public void saveVideo(Video video);

    /**
     * Removes a video from the database by their videoId
     *
     * @param videoId the video's id
     */
    public void removeVideo(String videoId);
}
